﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace FrbaCommerce.Abm_Cliente
{
    public partial class ListadoClientes : Form
    {
        private int usuarioEnSistema;
        

        public ListadoClientes(int usuarioLogueado)
        {
            InitializeComponent();
            buttonEliminar.Visible = false;
            buttonModificar.Visible = false;
            this.usuarioEnSistema = usuarioLogueado;
        }
     

        private void buttonLimpiar_Click(object sender, EventArgs e)
        {
            Codigo_reutilizable.Limpiar.LimpiarText(this);
            Codigo_reutilizable.Limpiar.LimpiarMaskedTextBox(this);
            Codigo_reutilizable.Limpiar.BlanquearControles(this);
            dataGridView1.Columns.Clear();
        }


        private void ListadoClientes_Load(object sender, EventArgs e)
        {
            //completo manualmente el comboboxTipoDoc
            comboBoxTipoDoc.Items.Add("DNI");
            comboBoxTipoDoc.Items.Add("CUIL");
            comboBoxTipoDoc.Items.Add("LE");
            comboBoxTipoDoc.Items.Add("LC");
        }


        private void buttonEliminar_Click(object sender, EventArgs e)
        {

            if (dataGridView1.CurrentRow == null)
            {

                //no hay registros seleccionados
                MessageBox.Show("Se debe seleccionar una fila para eliminar", "Error Eliminacion", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Int32 idSelect = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);

                const string message = "¿ELIMINAR el cliente seleccionado?";
                const string caption = "BAJA CLIENTE";
                var result = MessageBox.Show(message, caption,
                                             MessageBoxButtons.YesNo,
                                             MessageBoxIcon.Question);

                //  si el botón que preciona es...
                if (result == DialogResult.Yes)
                {
                    // Elimina logicamente el cliente seleccionado (lo deshabilita).
                    AccessData.adUsuario.ActualizarUsuarioEliminado(idSelect);
                }
                else
                    this.Close();
            }
        }




        private void buttonBuscar_Click(object sender, EventArgs e)
        {

            dataGridView1.Columns.Clear();
            Gets_and_Sets.LCliente_getset LCliente = new Gets_and_Sets.LCliente_getset();

            LCliente.Nombre = textBoxNombre.Text;
            LCliente.Apellido = textBoxApellido.Text;
            LCliente.Nro_doc = TextBoxNroDoc.Text;
            LCliente.Mail = textBoxMail.Text;
            LCliente.Tipo_doc = Convert.ToString(comboBoxTipoDoc.SelectedItem);
            AccessData.adCliente.buscarListaClientes(LCliente, dataGridView1);

            buttonModificar.Visible = true;
            buttonEliminar.Visible = true;
        }

        private void buttonModificar_Click_1(object sender, EventArgs e)
        {

            if (dataGridView1.CurrentRow == null)
            {

                //no hay registros seleccionados
                MessageBox.Show("Se debe seleccionar una fila para modificar", "Error Modificación", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Int32 idSelect = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
                Abm_Cliente.ModificacionCliente mod = new Abm_Cliente.ModificacionCliente(idSelect, usuarioEnSistema);
                this.Hide();
                mod.Show();
            }
        }




    }
}
